package cn.pro.service;

import cn.pro.api.IProInfoService;
import cn.pro.dao.ProLogInfoDao;
import cn.pro.entity.ProLogInfo;
import cn.pro.entity.vo.ProLogInfoVo;
import cn.pro.entity.vo.ProRoleVo;
import cn.pro.utils.CheckMsg;
import cn.pro.utils.ObjectUtils;
import cn.pro.utils.PageData;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.Date;
import java.util.List;

@Service
public class ProLogInfoService implements IProInfoService {
    @Autowired
    private ProLogInfoDao proLogInfoDao;
    @Override
    public CheckMsg create(ProLogInfo proLogInfo) {
        proLogInfoDao.insert(proLogInfo);
        if (!ObjectUtils.objectCheckIsNull(proLogInfo.getUname())){
            CheckMsg.fail().setMesage("日志添加失败");
        }
        return CheckMsg.success().setMesage("日志添加成功");
    }

    @Override
    public PageData<ProLogInfoVo> selectList(ProLogInfo proLogInfo) {
        List<ProLogInfoVo> prologs = proLogInfoDao.selectList(proLogInfo);
        return new PageData<ProLogInfoVo>().startPage(prologs, proLogInfo.getPageIndex(), proLogInfo.getPageSize());
    }

    @Override
    public CheckMsg delete(String logId) {
        ProLogInfoVo proLogInfoVo = proLogInfoDao.selectById(logId);
        if (!org.springframework.util.ObjectUtils.isEmpty(proLogInfoVo)){
            proLogInfoDao.delById(logId);
            return CheckMsg.success().setMesage("日志删除成功");
        }else {
            return CheckMsg.fail().setMesage("日志删除失败");
        }
    }

    @Override
    public CheckMsg updateLog(ProLogInfo proLogInfo) {
        ProLogInfoVo proLogInfoVo = proLogInfoDao.selectById(proLogInfo.getId());
        if (org.springframework.util.ObjectUtils.isEmpty(proLogInfoVo)){
            proLogInfo.setUpdateTime(new Date());
            proLogInfoDao.updateById(proLogInfo);
        }
        if (!ObjectUtils.objectCheckIsNull(proLogInfo.getUname())){
            CheckMsg.fail().setMesage("日志修改失败");
        }
        return CheckMsg.success().setMesage("日志修改成功");
    }

    @Override
    public ProLogInfoVo selectById(String logId) {
        ProLogInfoVo proLogInfoVo = proLogInfoDao.selectById(logId);
        System.out.println("对象："+proLogInfoVo.toString());
        if (org.springframework.util.ObjectUtils.isEmpty(proLogInfoVo)){
            return null;
        }
        return proLogInfoVo;
    }
}
